Về Mebroot rootkit Torpig

Master Boot Record

Mebroot là một rootkit mở màn cho một nòi rootkit mới sử dụng các kỹ thuật chưa từng thấy trong các phần mềm ác tính hiện đại. Điểm đáng chú ý nhất là nhiễm vào Master Boot Record (MBR) và che giấu kỹ điều đó.

MBR là cung từ vật lý đầu tiên của ổ cứng và lưu mã để nạp (load), khởi động của ổ đĩa trong quá trình boot.

Trong cuộc ganh đua giữa rootkit và các trình phát hiện rootkit, ai được khởi động đầu tiên, kẻ đó sẽ nắm ưu thế. Và không gì có thể khởi động sớm hơn thế từ MBR. Tất nhiên, các virus MBR đã từng khá phổ biến trong thời kỳ DOS, từ nhiều năm trước đây (thời điểm Mebroot phát tán là năm 2008).

Rootkit MBR chạy trên Windows này kích hoạt bản thân nó rất sớm trong tiến trình khởi động Windows mà không đòi hỏi bất kỳ thay đổi nào trong registry (sổ đăng ký của Windows) và các tập tin. Thực tế, đó là một điều đáng ngạc nhiên về việc Mebroot có thể ghi vào MBR ngay trong Windows để bắt đầu quá trình hoạt động của mình.

Rootkit MBR — được biết đến là "Mebroot" — là phần mềm ác tính cực kỳ tiên tiến và ẩn thân tốt nhất mà giới bảo mật từng thấy trong một thời gian dài. Nó giữ sao cho phần chỉnh sửa vào hệ thống là tối thiểu và là một thử thách lớn để phát hiện được nó trong một hệ thống đã nhiễm.

Một số chi tiết về khả năng ẩn mình của rootkit MBR

  • Chi phối đĩa

Hook (câu móc/chi phối) trên tập tin ntoskrnl.exe kích hoạt chương trình tải (downloader) tự động ở chế độ nhân HĐH (kernel-mode) được đặt tới hàm nt!Phase1Initialization trú tại phân đoạn INIT. Điều đó nghĩa là sau khi hệ thống khởi động xong phân đoạn này bị xóa khỏi bộ nhớ và không còn dấu vết gì chứng tỏ việc câu móc đã xảy ra.

Rootkit lưu trữ dữ liệu cần thiết cho việc tồn tại sau lần khởi động nằm ở cung từ vật lý thay vì trong tập tin. Dữ liệu đó không thể bị nhận diện và truy cập theo bất cứ cách nào bằng các ứng dụng thông thường. Rookit không phải câu móc các hàm liên quan đến giao diện để tự che giấu.

MBR là điểm khởi động của rootkit. Nó không cần can thiệp vào registry và các danh sách khởi động để tự kích hoạt bản thân. Nó chỉ cần che giấu MBR đã bị sửa đổi. Cơ bản nó chỉ hook 2 DWORDs trong trình điều khiển disk.sys.

  • Chi phối NDIS

Một đặc điểm đáng chú ý khác là rootkit MBR có khả năng qua mặt toàn bộ các lớp mạng và các phần mềm tường lửa.

Rootkit này hoạt động như một chương trình tải hàng loạt (tải các mã độc xuống máy nạn nhân). Để ẩn mình và tải mã độc hiệu quả nó được lập trình để thoát khỏi các tường lửa cá nhân. Nó đạt được điều này bằng cách hoạt động ở tầng thấp nhất của lớp NDIS (Network Device Interface Specification) chỉ nằm trên phần cứng vật lý.

Một DWORD luôn luôn bị hook trong cấu trúc nội tại của NDIS. Để gửi các gói tin nó dùng hàm SendPacketsHandler cung cấp bởi trình điều khiển phần cứng đặc trưng.

Rootkit dùng một phiên bản các hàm API chưa chỉnh sửa của bản thân để hoạt động. Điều này đã từng thấy ở một vài phần mềm ác tính, như Rustock và Srizbi. Tuy nhiên, điều chưa từng thấy là rootkit MBR dùng kỹ thuật "code pullout" để chỉ cần nạp phần mã tương ứng từ trình điều khiển ndis.sys thay vì nạp toàn bộ ndis.sys vào bộ nhớ.

Như vậy dấu vết trong bộ nhớ sẽ nhỏ hơn và không có môđun nào khác được nạp vào bộ nhớ nên các công cụ an ninh không phát hiện được.

Phần mềm ác tính này được triển khai và lập trình rất chuyên nghiệp. Các mẫu ban đầu từ tháng 12 năm 2007 tới tháng 1 năm 2008 là bản beta. Đến giữa 2008, nó đã phát triển hơn và bắt đầu hoạt động mạnh.

Tài liệu tham khảo

WikiPedia: Torpig http://www.rsa.com/blog/blog_entry.aspx?id=1378 http://windowssecrets.com/2008/11/26/03-Antivirus-... http://www.windowssecrets.com/2008/11/20/03-Dont-b... http://www.cs.ucsb.edu/~seclab/projects/torpig/ http://www.cs.ucsb.edu/~seclab/projects/torpig/ind... http://tech.slashdot.org/article.pl?sid=09/05/04/0... http://news.bbc.co.uk/1/hi/technology/7701227.stm https://web.archive.org/web/20100102105850/http://... https://web.archive.org/web/20100302160153/http://... https://web.archive.org/web/20100418112213/http://...